package com.sd365.permission.centre.service.impl;

import com.alibaba.fastjson.JSON;
import com.github.pagehelper.Page;
import com.sd365.common.core.annotation.stuffer.IdGenerator;
import com.sd365.common.core.common.aop.MyPageInfo;
import com.sd365.common.core.common.constant.EntityConsts;
import com.sd365.common.core.common.exception.BusinessException;
import com.sd365.common.core.common.exception.code.BizErrorCode;
import com.sd365.common.core.common.exception.code.CommonErrorCode;
import com.sd365.common.core.common.service.AbstractBusinessService;
import com.sd365.common.core.context.BaseContextHolder;
import com.sd365.common.core.mq.ActionType;
import com.sd365.common.util.BeanException;
import com.sd365.common.util.BeanUtil;
import com.sd365.common.util.StringUtil;
import com.sd365.permission.centre.dao.mapper.*;
import com.sd365.permission.centre.entity.*;
import com.sd365.permission.centre.pojo.dto.RoleDTO;
import com.sd365.permission.centre.pojo.dto.UserCentreDTO;
import com.sd365.permission.centre.pojo.dto.UserDTO;
import com.sd365.permission.centre.pojo.dto.pcp.PcpUserDTO;
import com.sd365.permission.centre.pojo.dto.shop.ShopBuyerDTO;
import com.sd365.permission.centre.pojo.query.UserQuery;
import com.sd365.permission.centre.service.UserService;
import com.sd365.permission.centre.service.util.DefaultTenant;
import com.sd365.permission.centre.service.util.Md5Utils;
import com.sd365.permission.centre.service.util.SendMQMessageUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import tk.mybatis.mapper.entity.Example;

import javax.validation.Valid;
import java.util.Calendar;
import java.util.List;

/**
 * @ClassName UserServiceImpl
 * @Description zhb 新增接口满足BM对系统对用户中心 更新个人信息的调用 modifyUserInfoForBm
 * @Author yangshaoqi
 * @Date 2020/12/14 21:29
 * @Version 1.0
 * TODO 开发人员请按用户管理模块测试用例以及JUnit单元测试要求完成业务类实现
 **/
@Service
public class UserServiceImpl extends AbstractBusinessService implements UserService {

    @Override
    public Boolean add(@Valid UserDTO userDTO) {
        return null;
    }

    @Override
    public Boolean remove(Long id, Long version) {
        return null;
    }

    @Override
    public Boolean modify(UserDTO userDTO) {
        return null;
    }

    @Override
    public Boolean modifyUserInfo(UserCentreDTO userCentreDTO) {
        return null;
    }

    @Override
    public Boolean modifyUserInfoForBm(UserCentreDTO userCentreDTO) {
        return null;
    }

    @Override
    public Boolean modifyWithNewRole(UserDTO[] userDTOS) {
        return null;
    }

    @Override
    public List<User> commonQuery(UserQuery userQuery) {
        return null;
    }

    @Override
    public User queryById(Long id) {
        return null;
    }

    @Override
    public List<Role> queryAllRole() {
        return null;
    }

    @Override
    public List<Department> queryAllDepartment() {
        return null;
    }

    @Override
    public List<Position> queryAllPosition() {
        return null;
    }

    @Override
    public Boolean batchUpdate(UserDTO[] userDTOS) {
        return null;
    }

    @Override
    public Boolean batchDelete(UserDTO[] userDTOS) {
        return null;
    }

    @Override
    public Boolean firstStartMd5() {
        return null;
    }

    @Override
    public Boolean pcpUserRegister(List<PcpUserDTO> pcpUserDTOS) {
        return null;
    }

    @Override
    public Boolean pcpUserUpdate(List<PcpUserDTO> pcpUserDTOS) {
        return null;
    }

    @Override
    public Boolean updateUserLockStatus(List<PcpUserDTO> pcpUserDTOS) {
        return null;
    }

    @Override
    public Boolean updateUserLockStatus(PcpUserDTO userDTO) {
        return null;
    }

    @Override
    public Boolean shopUserRegister(List<ShopBuyerDTO> shopBuyerDTOS) {
        return null;
    }

    @Override
    public Boolean updatePassword(UserDTO userDTO) {
        return null;
    }

    @Override
    public User getUser(String code) {
        return null;
    }
}
